home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
BBS Toolkit
/
BBS Toolkit.iso
/
pc_board
/
ppagemod.zip
/
PPE-PAGE.PPE
(
.txt
)
< prev
next >
Wrap
PCBoard Programming Language Executable
|
1993-05-17
|
6KB
|
310 lines
;------------------------------------------------------------------------------
; .ss.
; `²²'
; .,sS$Ss,,s$ .,sS$$$Ss. .,sS$Ss,,s$ .ss. .sSs.
; .d$$²^°²$$$$'.d$P²°^^²$P'.d$$²^°²$$$$'.$$$' .$$$²Sb,.
; $$$' .$$$' $$$²Sçsµ²' .$$$' .$$$'.$$$' .$$$' `$$b.
; $$$b,,d$$$' ,$$$b,....,s$$$$b,,d$$$'.$$$;.,$$$' ;$$$
; `²S$$S²²S$$S²°²S$$$$S²°°²S$$$$$$',$$S²°²S$S'.sS$$$P²'
; .sS²°$$$²²°"' d²°'
; .$$² .$$'
; $$$.,d$$'
; `²S$$S²'
;------------------------------------------------------------------------------
; P.P.L.X. 2.OO (C)1996 - Lone Runner / AEGiS CoRP'96
;------------------------------------------------------------------------------
; PPE 1.OO (plain) - Analysis ON - Postprocessing ON
;------------------------------------------------------------------------------
Integer INTEGER001
Integer INTEGER002
Integer INTEGER003
Integer INTEGER004
Integer INTEGER005
Integer INTEGER006
Integer INTEGER007
Integer INTEGER008
Integer INTEGER009
String STRING001
String STRING002
String STRING003
String STRING004
String STRING005
String STRING006
String STRING007
String STRING008
String TSTRING009(251)
String STRING010
String TSTRING011(26)
String STRING012
String STRING013
String STRING014
String STRING015
Time TIME001
Time TIME002
Time TIME003
;------------------------------------------------------------------------------
If (Exist(PPEPath() + "PPE-PAGE.CNF") == 0) Then
PrintLn
PrintLn "ERROR: File " + "" + " not found! Please nodify SysOp..."
PrintLn
Wait
End
Endif
FOpen 1, PPEPath() + "PPE-PAGE.CNF", 0, 0
FGet 1, INTEGER002
FGet 1, INTEGER003
FGet 1, STRING006
FGet 1, STRING007
FGet 1, STRING008
FGet 1, STRING001
FGet 1, STRING002
FGet 1, STRING003
FGet 1, STRING004
FGet 1, STRING005
FGet 1, STRING015
FGet 1, STRING010
FClose 1
GetUser
Log U_Name() + " (" + String(U_Sec) + ") SysOp Page at (" + Left(String(Time()), 5) + ")", 0
If (Exist(STRING001) > 0) Then
FOpen 1, STRING001, 0, 0
FGet 1, INTEGER006
For INTEGER007 = 1 To INTEGER006
FGet 1, TSTRING009(INTEGER007)
If (U_Name() == Upper(TSTRING009(INTEGER007))) Goto LABEL003
Next
FClose 1
Endif
TIME003 = Time()
If (Len(STRING006) == 5) STRING006 = STRING006 + ":00"
If (Len(STRING007) == 5) STRING007 = STRING007 + ":00"
STRING008 = Left(STRING008 + "YYYYYYY", 7)
TIME001 = STRING006
TIME002 = STRING007
If ((U_Sec < INTEGER002) || (U_Sec > INTEGER003)) Goto LABEL004
If (((TIME001 <= TIME002) && (TIME001 <> 0)) && (TIME002 <> 0)) Then
If ((TIME003 < TIME001) || (TIME003 > TIME002)) Goto LABEL005
Else
If ((TIME003 < TIME001) && (TIME003 > TIME002)) Goto LABEL005
Endif
If (Upper(Mid(STRING008, Dow(Date()) + 1, 1)) == "N") Goto LABEL006
Cls
If (Exist(STRING002)) Then
DispFile STRING002, 4 + 2 + 1
Else
PrintLn "@X70┌────────────────────────────────────────────────────────────────────────────@X7F┐@X07"
PrintLn "@X70│ @X75* @X74PCBOARD @X75* @X70==@X71 O P E R A T O R P A G E @X70== @X75* @X74PCBOARD @X75* @X7F│@X07"
PrintLn "@X70└@X7F────────────────────────────────────────────────────────────────────────────┘@X07"
Endif
PrintLn
InputText "Why do you want to page the SysOp", STRING013, 14, 43
If (Exist(STRING004) > 0) Then
FOpen 1, STRING004, 0, 0
FGet 1, INTEGER009
For INTEGER007 = 1 To INTEGER009
FGet 1, TSTRING011(INTEGER007)
If (STRING013 == Upper(TSTRING011(INTEGER007))) Goto LABEL009
If (STRING013 == Lower(TSTRING011(INTEGER007))) Goto LABEL009
If (STRING013 == TSTRING011(INTEGER007)) Goto LABEL009
Next
FClose 1
If ((STRING013 == "") || (Len(STRING013) <= 3)) Goto LABEL010
If (STRING013 <> "") Gosub LABEL001
Endif
Log "Reason: " + STRING013, 0
TIME003 = Time()
Newlines 2
Print "@X0EPage ends in " + STRING015 + " seconds. @X0C(@X0ECtrl-K@X0C) @X0EAborts @X0F."
While (TIME003 + STRING015 > Time()) Do
INTEGER008 = Abort()
If (INTEGER008) Goto LABEL011
STRING014 = KInkey()
If (STRING014 == Chr(32)) Goto LABEL008
INTEGER001 = INTEGER001 + 1
If (INTEGER001 % STRING010 == 0) Then
Print "@X0F."
Print "@X09."
Sound 1100
Delay 8
Sound 800
Delay 6
Sound 0
Endif
EndWhile
If (PageStat() == 0) PageOn
Goto LABEL002
End
:LABEL001
WrUNet PcbNode(), "Paging SysOp", U_Name(), U_City, "", ""
INTEGER004 = GetX()
INTEGER005 = GetY()
AnsiPos 1, 1
Color 63
SPrintLn "┌────────────────────────────────────────────────────────────────────────────┐"
SPrintLn "│ [SysOp] - Press (SPACE) to acknowledge Operator Page, (ESC) when finished. │"
SPrintLn "└────────────────────────────────────────────────────────────────────────────┘"
Color DefColor()
AnsiPos INTEGER004, INTEGER005
Return
:LABEL002
Newlines 2
If (Exist(STRING003)) Then
DispFile STRING003, 4 + 2 + 1
Else
PrintLn "@X0CSorry, the Sysop is not currently available for CHAT!"
Endif
Goto LABEL007
:LABEL003
FClose 1
PrintLn
PrintLn "@X0CSorry, the Sysop is not currently available for CHAT!"
Goto LABEL007
:LABEL004
PrintLn
PrintLn "@X0ESorry, insufficient Security to page for SysOp!"
Goto LABEL007
:LABEL005
PrintLn
PrintLn "@X70┌────────────────────────────────────────────────────────────────────────────@X7F┐@X07"
PrintLn "@X70│ @X71Sorry, @FIRST@, you may only PAGE for the SysOp in the HOURS listed below:@POS:78@@X7F│@X07"
PrintLn "@X70└@X7F────────────────────────────────────────────────────────────────────────────┘@X07"
PrintLn
PrintLn "@X70┌────────────────────────────────────────────────────────────────────────────@X7F┐@X07"
PrintLn "@X70│ @X74Beginning Time: @X7E" + String(TIME001) + " am @X74Ending Time: @X7E" + String(TIME002) + " pm @X7F│@X07"
PrintLn "@X70└@X7F────────────────────────────────────────────────────────────────────────────┘@X07"
Goto LABEL007
:LABEL006
PrintLn
PrintLn "@X70┌────────────────────────────────────────────────────────────────────────────@X7F┐@X07"
PrintLn "@X70│ @X71Sorry, @FIRST@, you may only PAGE for the SysOp in the DAYS listed below: @POS:78@@X7F│@X07"
PrintLn "@X70└@X7F────────────────────────────────────────────────────────────────────────────┘@X07"
PrintLn
PrintLn "@X07@X70┌────────────────────────────────────────────────────────────────────────────@X7F┐@X07"
PrintLn "@X70│ @X74SUN@X70=@X71" + Mid(STRING008, 1, 1) + " @X74MON@X70=@X71" + Mid(STRING008, 2, 1) + " @X74TUE@X70=@X71" + Mid(STRING008, 3, 1) + " @X74WED@X70=@X71" + Mid(STRING008, 4, 1) + " @X74THU@X70=@X71" + Mid(STRING008, 5, 1) + " @X74FRI@X70=@X71" + Mid(STRING008, 6, 1) + " @X74SAT@X70=@X71" + Mid(STRING008, 7, 1) + " @X7F│@X07"
PrintLn "@X70└@X7F────────────────────────────────────────────────────────────────────────────┘@X07"
:LABEL007
PrintLn
InputYN "Would you like to leave a comment to the Sysop instead Y/N", STRING012, 10
If (STRING012 <> YesChar()) Stop
KbdStuff "C" + Chr(13) + "Y" + Chr(13)
End
:LABEL008
Chat
End
:LABEL009
Cls
If (Exist(STRING005)) Then
DispFile STRING005, 4 + 2 + 1
Else
PrintLn Chr(7) + Chr(7) + Chr(7)
PrintLn "@X40┌─────────────────────────────────────────────────────────────────────────────@X4C┐@X07"
PrintLn "@X40│ @X4EThe Reason you gave for paging the SysOp is NOT @X4C│@X07"
PrintLn "@X40│ @X4EAcceptable! @X4C│@X07"
PrintLn "@X40│ @X4C │@X07"
PrintLn "@X40│ @X40PAGE ABORTED... @X4C│@X07"
PrintLn "@X40│ @X4C│@X07"
PrintLn "@X40└@X4C─────────────────────────────────────────────────────────────────────────────┘@X07"
Endif
PrintLn
End
:LABEL010
End
:LABEL011
ResetDisp
If (PageStat() == 0) PageOn
Newlines 1
End
;------------------------------------------------------------------------------
;
; Usage report (before postprocessing)
;
; ■ Statements used :
;
; 7 End
; 2 Cls
; 1 Wait
; 2 Color
; 35 Goto
; 16 Let
; 3 Print
; 38 PrintLn
; 28 If
; 3 DispFile
; 3 FOpen
; 4 FClose
; 16 FGet
; 1 ResetDisp
; 1 GetUser
; 2 Log
; 1 InputYN
; 1 Gosub
; 1 Return
; 2 Delay
; 3 Newlines
; 1 Stop
; 1 InputText
; 1 KbdStuff
; 1 WrUNet
; 2 AnsiPos
; 3 Sound
; 1 Chat
; 3 SPrintLn
; 2 PageOn
;
;
; ■ Functions used :
;
; 1 %
; 49 +
; 13 ==
; 4 <>
; 5 <
; 4 <=
; 6 >
; 4 >=
; 11 !
; 7 &&
; 5 ||
; 3 Len(
; 1 Lower()
; 3 Upper()
; 8 Mid()
; 2 Left()
; 6 Chr()
; 1 Abort()
; 1 Date()
; 4 Time()
; 3 U_Name()
; 1 Dow()
; 1 YesChar()
; 4 String()
; 2 PPEPath()
; 1 PcbNode()
; 6 Exist()
; 1 GetX()
; 1 GetY()
; 1 DefColor()
; 1 KInkey()
; 2 PageStat()
;
;------------------------------------------------------------------------------
;
; Analysis flags : No flag
;
;------------------------------------------------------------------------------
;
; Postprocessing report
;
; 2 For/Next
; 1 While/EndWhile
; 8 If/Then or If/Then/Else
; 0 Select Case
;
;------------------------------------------------------------------------------
; AEGiS Corp - Break the routines, code against the machines!
;------------------------------------------------------------------------------